package com.tsd.system.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.system.entity.SysUserClient;
import com.tsd.system.entity.SysUserClientExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：SysUserClientMapper
 *
 * @author zsy
 * @date 2021/01/15 10:01:49
 */
public interface SysUserClientMapper {

    SysUserClient selectByPrimaryKey(Long id);

    SysUserClientExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(SysUserClient record);

    int insertSelective(SysUserClient record);

    int updateByPrimaryKey(SysUserClient record);

    int updateByPrimaryKeySelective(SysUserClient record);

    List<SysUserClientExt> selectByEntity(SysUserClient record);

    List<SysUserClientExt> selectByUserSid(String userSid);

    List<SysUserClientExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<SysUserClientExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<SysUserClientExt> selectByParams(@Param("params") Map<String, Object> params);

    List<SysUserClientExt> selectByUserList(@Param("user_list") List<String> user_list);

    /**
     * 根据客户的sid删除
     *
     * @param clientSid
     * @return
     */
    int deleteByClientSid(String clientSid);

    int deleteByIdList(BatchDeleteLogicVo logicVo);

    int deleteLogicByClientList(BatchDeleteLogicVo logicVo);

    int insertList(@Param("list") List<SysUserClientExt> list);

    int updateList(@Param("list") List<SysUserClientExt> list);

    int deleteLogicByIdList(BatchDeleteLogicVo logicVo);
}
